/*
 * Copyright 2018 Broadband Forum
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.broadband_forum.obbaa.netconf.alarm.api;

import java.sql.Timestamp;

import org.broadband_forum.obbaa.netconf.alarm.entity.AlarmSeverity;
import org.broadband_forum.obbaa.netconf.mn.fwk.server.model.ModelNodeId;

public class AlarmNotification extends AlarmParameters {

    private AlarmCondition m_alarmCondition;

    public AlarmNotification(String alarmTypeId, String alarmTypeQualifier, ModelNodeId resource,
                             Timestamp lastStatusChange, AlarmSeverity lastPerceivedSeverity, String lastAlarmText,
                             AlarmCondition alarmCondition, String mountKey, String resourceObjectString) {
        super(alarmTypeId, alarmTypeQualifier, resource, lastStatusChange, lastPerceivedSeverity, lastAlarmText,
                mountKey, resourceObjectString);
        this.m_alarmCondition = alarmCondition;
    }

    public AlarmCondition getAlarmCondition() {
        return m_alarmCondition;
    }

    @Override
    public String toString() {
        return "AlarmNotification [alarmTypeId=" + getAlarmTypeId() + ", alarmTypeQualifier=" + getAlarmTypeQualifier()
                + ", resource=" + getResource() + ", lastStatusChange="
                + getLastStatusChange() + ", lastPerceivedSeverity=" + getLastPerceivedSeverity() + ", lastAlarmText="
                + getLastAlarmText() + ", alarmCondition=" + m_alarmCondition + ", resourceObjectString="
                + getResourceObjectString() + "]";
    }
}
